Cloud computing/storage environments have turned around the manner in which business organizations examine the requirements and capacity to implement their data processing needs. A cloud computing/storage environment includes capabilities where the cloud provider hosts the hardware and related items and provides systems and computational power as a service to a customer (e.g., a business organization). When implementing data processing needs via a cloud vendor, a customer does not need to bear the cost of space, energy, and maintenance in order to acquire the required computational resources at a reasonable cost, and can back up data to a cloud vendor's storage facility or device.
Cloud computing/storage environments support virtual machines (VM) that may be defined as emulation of physical machines in software, hardware, or combination of both. A set of services or resources may form a virtual machine image that has associated recovery points or snapshots. A recovery point or snapshot of a virtual machine (VM) is a point in time copy of the virtual machine. In a typical scenario, recovery points or snapshots of a virtual machine can be copied and stored in a cloud computing and storage environment. Recovery points are created at regular intervals and data is stored at the recovery points containing one or more virtual hard disks (VHDs) used as hard disks for the virtual machine and stored as files in the cloud computing/storage environment. Conventionally, to merge or consolidate these recovery points or snapshots, for example, when two or more different recovery points are to be merged, virtual VHDs of the virtual machine associated with the recovery points, are downloaded from the cloud environment and then merged locally. The merged VHDs are then again uploaded into the cloud environment. Unfortunately, such downloading and uploading of snapshots in the form of VHDs is expensive and time consuming. These and other drawbacks exist.